home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
050
/
madtrb9.arc
/
DTA.INC
< prev
next >
Wrap
Text File
|
1984-07-13
|
2KB
|
139 lines
FUNCTION getword(VAR line:stringtype) : stringtype;
VAR
word : stringtype;
pos1 : INTEGER;
BEGIN
WHILE POS(' ',line) = 1 DO
DELETE (line,1,1);
pos1 := POS(' ',line);
IF (pos1 <> 0 ) THEN
BEGIN
word := COPY(line,1,pos1-1);
DELETE(line,1,pos1);
END
ELSE
BEGIN
word := line;
line := '';
END;
getword := word;
END;
PROCEDURE getdta;
BEGIN
INLINE
( $b4/$2f/ {mov ah,2f}
$cd/$21/ {int,21}
$89/$1e/bx/ {mov (bx),bx }
$8c/$c3/ {mov bx,es }
$89/$1e/es {mov (es),bx }
)
END;
PROCEDURE getfile(VAR file_search);
VAR
i,j : INTEGER;
BEGIN
BEGIN;
INLINE (
$8b/$56/$04/ {mov dx,[bp+04]}
$81/$c2/$01/$00/{add dx,0001}
$b9/$00/$00/ {mov cx,0000}
$b4/$4e/ {mov ah,4e}
$cd/$21/ {int 21h }
$a2/al {mov (al),al}
)
END;
i := 30;
filename := '';
IF (al <> 02) AND (al <> 18) THEN
BEGIN
WHILE MEM[es:bx+i] <> 0 DO
BEGIN
filename := CONCAT(filename,CHR(MEM[es:bx+i]) );
i := i +1;
END;
END;
END;
PROCEDURE getnext;
BEGIN
BEGIN
INLINE (
$b4/$4f/ {mov ah,4f}
$cd/$21/ {int 21h }
$a2/al {mov (al),al}
)
END;
i := 30;
filename := '';
IF (al <> 02) AND (al <> 18) THEN
BEGIN
WHILE MEM[es:bx+i] <> 0 DO
BEGIN
filename := CONCAT(filename,CHR(MEM[es:bx+i]) );
i := i +1;
END;
END;
END;
PROCEDURE save_dta;
VAR
i:INTEGER;
BEGIN
FOR i := 0 TO 127 DO
dta[i] := MEM[es:bx+i] ;
END;
PROCEDURE restore_dta;
VAR
i:INTEGER;
BEGIN
FOR i := 0 TO 127 DO
MEM[es:bx+i] := dta[i];
END;
PROCEDURE write_dta;
VAR
i:INTEGER;
BEGIN
WRITELN;
FOR i := 0 TO 70 DO
WRITE(CHR(MEM[es:bx+i]) );
WRITELN;
END;